<!DOCTYPE html>
<!--
     SPDX-License-Identifier: CC-BY-SA-4.0
     SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
-->
<!-- Page last generated 2025-02-20 03:16:15 +0000 -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>capdl-0.2.0 | seL4 docs</title>

    <!-- Our stylesheet and theme stylesheet.  Contains bootstrap. -->
    <link rel="stylesheet" href="/assets/css/style.css" type="text/css">
    <!-- Font awesome -->
    <link href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <!-- Pygments syntax highlighting  -->
    <link rel="stylesheet" href="/assets/css/highlighting/trac.css" type="text/css">
    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><script defer data-domain="docs.sel4.systems"
	    src="https://analytics.sel4.systems/js/script.js"></script></head>

  <body class="container-fluid">

    



<header>
  <ul class="row menu">
    <li class="col-xs-12 col-md-2" >
            <a href="https://sel4.systems" class="skip-icon">
              <img class="img-responsive" src="/assets/logo-text-white.svg" alt="seL4 logo" />
            </a>
    </li>
    <li class="col-xs-12 col-md-10 menu">
      <nav aria-label="Banner links">
        <h2><a href="/Resources" />Resources</h2>
        <h2><a href="/processes" />Contributing</a></h2>
        <h2><a href="/projects" />Projects</h2>
        <h2><a href="/Tutorials" />Tutorials</h2>
        <iframe title="DuckDuckGo search bar" src="https://duckduckgo.com/search.html?site=docs.sel4.systems&prefill=Search%20sel4.systems" style="overflow:hidden;margin-bottom:10px; padding:0;height:40px;float:right;border-width: 0px"></iframe>
      </nav>
    </li>
  </ul>
  <div class="clear"></div>
  
<div class="breadcrumbs bootstrap hidden-sm-down">
  <nav class="sel-breadcrumb" aria-label="Breadcrumb" >
    <ol class=" list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
      
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/">
              <span property="name"><b>seL4 Docs</b></span>
            </a>
            <meta property="position" content="1" />
        </li>
      
        

        
          <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <span property="name">capdl-0.2.0</span>
            <meta property="position" content="2" /></li>
          
    </ol>
  </nav>
  <nav class="sel-version" aria-label="Current Versions">
    <ol class="list-unstyled">
      <li class="list-unstyled text-right" style="margin-left:auto; padding:0rem 0rem;">
        Current versions:</li>
      <li class="list-unstyled text-right">
      <a href="/releases/sel4/13.0.0"><b>seL4-13.0.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/microkit/1.4.1"><b>microkit-1.4.1</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/camkes/camkes-3.11.0"><b>camkes-3.11.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/capdl/0.3.0"><b>capDL-0.3.0</b></a></li>
      </ol>
  </nav>
  <div class='clear'></div>
</div>


</header>

    <main>
      <div class="row">
  <div class="hidden-xs col-sm-4 col-md-3 col-lg-2">
    


<div class="sidebar">
















</div>

  </div>
  <div class="content col-sm-8 col-md-6 col-lg-7 main">
    <h1 id="capdl-version-capdl-020-release">capDL Version capdl-0.2.0 Release</h1>

<p>Announcing the release of <code class="language-plaintext highlighter-rouge">capdl-0.2.0</code> with the following changes:</p>

<p>capdl-0.2.0 2020-10-26
Using seL4 version 12.0.0</p>

<h2 id="changes">Changes</h2>

<ul>
  <li>
    <p>Convert to SPDX license tags. This includes marking all documentation files CC-BY-SA-4.0.</p>
  </li>
  <li>Build system:
    <ul>
      <li>Support <code class="language-plaintext highlighter-rouge">CMakeForegroundComplexCommands</code>. This enables long-running build steps like Haskell installation to
directly print to the console.</li>
      <li>Make PLATFORM_SIFT agnostic of the build system directory layout</li>
      <li>Save the binary artifacts for the capDL-tool in an out-of-build-tree directory, this will not rebuild in future if
it can find a previously built artifact.</li>
      <li>Migrate scripts to python3</li>
    </ul>
  </li>
  <li>Add <code class="language-plaintext highlighter-rouge">seL4_BadgeBits</code> constant and update python-capdl-tool to directly query the object_sizes dictionary. This allows
for templates to use badge sizes.</li>
  <li>Add support for Arm smmu v2.</li>
  <li>Add support for Arm GetTrigger and GetTriggerCore seL4 invocations. This enables specs to correctly specify interrupt
trigger mode and core affinities on Arm.</li>
  <li>Add TCB Resume field to capDL object and support raw TCB object creation.</li>
  <li>Add GitHub actions scripts. These scripts replicate internal CI checks directly on GitHub</li>
</ul>

<h3 id="capdl-tool">capDL-tool</h3>

<ul>
  <li>rework validObjCap and check TCB slots, which allows vcpus for all architectures.</li>
  <li>convert CapDL language specification to Markdown.</li>
</ul>

<h3 id="capdl-loader-app">Capdl-loader-app</h3>

<ul>
  <li>Improve log output.</li>
  <li>Initialise libc in debug builds.</li>
  <li>Add check to only flush and invalidate kernel memory regions in capdl loader on Arm. Add platform_info header with
memory window.</li>
  <li>Add vcpu support for aarch64.</li>
  <li>Handle IRQ binding to badged notifications properly: If an irq is bound to a notification with a non-zero badge, a
badged capability is minted and used.  Previously, the IRQ was bound to the unbadged notification.</li>
  <li>Track number of used untypeds during object allocation and fail more gracefully if they run out.</li>
  <li>Improve debugging printouts.</li>
  <li>Fix issue where large DTB images inside BootInfo would overlap reserved memory address used to initialise frames.</li>
  <li>Remove CONFIG_CAPDL_LOADER_ALLOW_NO_CSPACE config option as it has been unused for a while.</li>
</ul>

<h3 id="capdl-linker">Capdl-linker:</h3>

<ul>
  <li>Optimize spec generation performance:
    <ul>
      <li>Sort elf symbols by their vaddr.</li>
      <li>Replace linear search with binary when looking for virtual addresses.</li>
    </ul>
  </li>
  <li>Fix Python syntax warnings when <code class="language-plaintext highlighter-rouge">capdl_linker.py</code> is invoked.</li>
</ul>

<h2 id="upgrade-notes">Upgrade Notes</h2>

<h1 id="full-changelog">Full changelog</h1>
<p>Use <code class="language-plaintext highlighter-rouge">git log 0.1.0..capdl-0.2.0</code> in
<a href="https://github.com/seL4/capdl">https://github.com/seL4/capdl</a></p>

<h1 id="more-details">More details</h1>
<p>See the
<a href="https://github.com/seL4/capdl/tree/master/capDL-tool/doc">documentation</a>
or ask on the mailing list!</p>


  </div>







  
  
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
  
    <ul class="section-nav">
    	<h2> CapDL </h2> 
        <li>
          
          <a style="" class="" href="/projects/capdl/">
            Documentation homepage
          </a>
        </li>

















    
        <h3>Repositories</h3>
    
        <li>
          <a class="" href="https://github.com/seL4/capdl">
            capdl
          </a>
        </li>









  
      
          <h3>Releases</h3>
      
          <li>
            <a style=" font-weight: bold; " href="/releases/capdl/0.2.0.html">
              capdl-0.2.0
            </a>
          </li>
  
      
          <li>
            <a style="" href="/releases/capdl/0.3.0.html">
              0.3.0
            </a>
          </li>
  
      
          <li>
            <a style="" href="/releases/capdl/0.2.1.html">
              0.2.1
            </a>
          </li>
  
      
          <li>
            <a style="" href="/releases/capdl/0.1.0.html">
              CapDL 0.1.0
            </a>
          </li>
  







    </ul>

</div>


</div>

    </main>
    


<footer class="site-footer">

  <h2 class="footer-heading">seL4 docs</h2>

  <div class="footer-col-wrapper">

    <div class="col-md-2">
      



<ul class="social-media-list">
  <li><a href="https://github.com/sel4"><i class="fab fa-github"></i> <span class="username">sel4</span></a></li><li><a href="https://github.com/sel4proj"><i class="fab fa-github"></i> <span class="username">sel4proj</span></a></li>
</ul>

    </div>

    <div class="col-md-8">
      <ul class="list-unstyled">
        <li>
          This site is for displaying seL4 related documentation.  Pull requests are welcome.
        </li>
        
          <li>
            Site last updated: Fri Feb 7 10:17:38 2025 +1100 ee78c8857c
          </li>
          <li>
          </li>
        
      </ul>
    </div>
    <div class="col-md-2">
<a href="https://github.com/seL4/docs/blob/master/content_collections/_releases/capdl/0.2.0.md">View page on GitHub</a>
      <br />
      <a href="https://github.com/seL4/docs/edit/master/content_collections/_releases/capdl/0.2.0.md">Edit page on GitHub</a>
      <br />
      <a href="/sitemap">Sitemap</a>
    </div>

  </div>

</footer>

  </body>
</html>
